package com.example.temp;

public class Test17 {

    public static void main(String[] args) {

    }

    /**
     * 操作给定的二叉树，将其变换为源二叉树的镜像
     *
     *         源二叉树
     *           8
     *     	   /  \
     *     	  6   10
     *     	 / \  / \
     *     	5  7 9 11
     *     	镜像二叉树
     *     	     8
     *     	   /  \
     *     	  10   6
     *     	 / \  / \
     *     	11 9 7  5
     */

    public class TreeNode {

        int val;
        TreeNode left;
        TreeNode right;

        TreeNode(int val) {
            this.val = val;
        }
    }


    public class Solution {
        public void Mirror(TreeNode root) {

            if (root==null)return;
            if (root.left==null&&root.right==null)return;

            //根节点左右子节点交换
            TreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;

            //递归左右子树
            if (root.left!=null){
                Mirror(root.left);
            }
            if (root.right!=null){
                Mirror(root.right);
            }
        }
        public void MirrorTest(TreeNode root){

        }
    }
}
